Модель
объектов ActiveX для управления данными
Объекты управления
данными ActiveX (ADO/ ActiveX Data Objects) предназначены для обеспечения доступа
к источникам данных разных видов, от текстовых файлов до распределенных баз
данных. ADO представляет собой объектно-ориентированный интерфейс для приложений,
использующих OLE DB. OLE DB — это программный интерфейс, удовлетворяющий спецификации
COM (Component Object Model, компонентная модель объектов), который предоставляет
унифицированный способ доступа к различным источникам данных. Интерфейс OLE
DB разрабатывался с целью получения оптимальной функциональности для приложений
разных видов и поэтому не является простым в использовании. ADO — промежуточное
звено между приложением и OLE DB, предоставляющее разработчикам приложений удобный
объектно-ориентированный интерфейс.
Существует
три объектных модели, которые вместе обеспечивают те функции работы с данными,
которые реализуются объектами DАО:
-
Microsoft ActiveX Data
Objects 2.6 (ADODB);
-
Microsoft ActiveX Data
Objects Extensions for DDL and Security 2.6 (ADOX);
-
Microsoft Jet and Replication
Objects 2.6 (JRO).
Стандартный
набор функций для работы с данными распределяется между этими тремя моделями
следующим образом:
-
Управление данными.
Объектная модель ADODB обеспечивает вашему приложению доступ к источнику
данных и возможность отбирать для просмотра и изменять эти данные. Однако
она не предоставляет возможности изменять структуру таблиц и других объектов
источника данных.
-
Определение данных
и защита.
Объектная модель ADOX позволяет программно изменять структуру
объектов в источнике данных, в частности добавлять и удалять таблицы, изменять
структуру таблиц, создавать и изменять запросы, представления и хранимые процедуры,
а также управлять схемой защиты данных: создавать группы пользователей и отдельных
пользователей, наделять их требуемыми правами доступа к объектам.
-
Репликация и службы
ядра базы данных Jet.
Объектная модель JRO позволяет создавать, модифицировать
и синхронизировать реплики. Она была спроектирована специально для доступа
к объектам Jet и, в отличие от моделей ADODB и ADOX, может работать только
с базами данных Access.
Краткое описание
объектов моделей ADO приведено в табл. 13.5—13.7.
Таблица
13.5.
Объектная модель ADODB
|
|
|
|
|
|
|
|
|
|
|
|
|
Открывает сеанс
обмена данными
|
|
|
|
|
Представляет
собой инструкцию SQL
|
|
|
|
|
Представляет
собой параметр инструкции SQL
|
|
|
|
|
Представляет
собой набор записей и позволяет осуществлять навигацию по записям
и манипулировать с данными в нем
|
|
|
|
|
Представляет
собой поле (столбец) в наборе записей
Recordset
|
|
|
|
|
Представляет
собой информацию об ошибке, произошедшей во время сеанса связи
|
|
|
|
|
Представляет
характеристику (свойство) любого объекта ADO
|
|
|
|
|
Все объекты Error
в этом семействе создаются в ответ на одну ошибку, произошедшую во
время сеанса связи
|
|
|
|
|
Содержит все
объекты Parameter, ассоциированные с объектом Command
|
|
|
|
|
Содержит все
объекты Field, ассоциированные с набором записей Recordset
|
|
|
|
|
Содержит все
объекты Property, ассоциированные с объектом Connection, Command,
Recordset или Field
|
|
|
|
|
Представляет
собой каталог или файл
|
|
|
|
|
Представляет
собой содержимое файла
|
|
|
|
|
|
|
Таблица
13.6.
Объектная модель ADOX
|
|
|
|
|
|
|
|
|
|
|
Catalog
|
Объект
|
Главный
объект этой модели. Ссылается на источник данных и обеспечивает доступ
ко всем объектам источника — таблицам, представлениям, процедурам, группам,
пользователям
|
|
|
|
|
Семейство таблиц,
содержащихся в источнике данных. Каждый объект Table этого семейства
ссылается на одну таблицу
|
|
|
|
|
Содержит все
индексы таблицы. Каждый объект Index семейства ссылается на один из
индексов
|
|
|
|
|
Содержит все
ключи таблицы. Каждый объект Key семейства ссылается на один из ключей
|
|
|
|
|
Содержит объекты
Column, которые ссылаются на столбцы в одном из объектов Table, Index,
Key
|
|
|
|
|
Содержит все
объекты Group каталога или пользователя. Каждый из объектов Group
ссылается на бюджет группы в каталоге или пользователе
|
|
|
|
|
Содержит объекты
User, которые представляют собой бюджеты пользователей, имеющих права
доступа к защищенной базе данных
|
|
|
|
|
Содержит все
хранимые процедуры в базе данных. Каждый объект Procedure семейства
ссылается на одну из хранимых процедур
|
|
|
|
|
Содержит все
представления (view) в базе данных
|
|
|
|
|
|
|
Иерархическая
структура модели объектов ADOX представлена на рис. 13.6.

Рис. 13.6.
Объектная модель ADOX
Таблица
13.7.
Описание объектов JRO
|
|
|
|
|
|
|
|
|
|
|
|
|
Обеспечивает
доступ к двум сервисам ядра базы данных Jet: сжатие базы данных и
выгрузка данных из кэша в файл базы данных MDB
|
|
|
Replica
|
Объект
|
Представляет
собой копию реплицированной базы данных
|
|
|
Filters
|
Семейство
|
Содержит
набор объектов Filter, каждый из которых представляет собой набор записей,
которые должны реплицироваться
|
|
Более подробное
описание объектов JRO и их использования приведено
в гл. 18.
В случае разработки
многоуровневого клиент-серверного приложения для доступа к данным используется
еще одна объектная модель — RDS (служба удаленного доступа к данным). Она включает
три объекта, краткое описание которых приведено в табл. 13.8.
Таблица
13.8.
Объектная модель RDS
|
|
|
|
|
|
|
Тип
|
|
|
|
|
Объект
|
Этот объект содержит
метод, позволяющий создать объект (так называемый бизнес-объект) промежуточного
сервера передачи данных. В качестве промежуточного сервера может выступать
процедура, указанная пользователем, встроенная процедура, используемая
по умолчанию, или библиотека динамической компоновки DLL, исполняемая
в локальной сети, в Интернете или сети интранет
|
|
|
RDSServer.
DataFactory
|
Объект
|
Представляет
собой встроенную программу — сервер данных, которая выполняет обработку
данных и возвращает результат обработки
|
|
|
RDS.DataControl
|
Объект
|
Этот
объект может использоваться для следующих целей: автоматическое выполнение
функций объектов RDS. DataSpace и RDSServer .DataFactory, выполнение обработки
данных или возвращение результата с помощью встроенных служб RDS, представление
результата обработки данных в виде совокупности значений для визуальных
элементов управления (в форме)
|
|
Содержание раздела
|